precision mediump float;
uniform vec2 u_resolution;
uniform float u_time;

void main(void) {
    // 将像素坐标归一化（区间 [0.0, 1.0]）
    vec2 uv = gl_FragCoord.xy / u_resolution.xy;
    
    // 波浪参数
    float amplitude = 0.05;         // 增大振幅
    float angularVelocity = 10.0;  // 角速度
    float frequency = 5.0;         // 降低频率使动画更平缓
    float offset = 0.5;            // 垂直高度，总高是1.0
    float initialPhase = frequency * u_time;
    
    // 计算波浪函数值
    float y = amplitude * sin((angularVelocity * uv.x) + initialPhase) + offset;
    
    // 根据位置设置颜色（增强颜色对比度）
    vec4 color = uv.y > y ? vec4(0.0, 0.0, 0.0, 1.0) : vec4(0.0, 0.8, 1.0, 1.0);
    
    // 输出到屏幕
    gl_FragColor = color;
}